/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.clinicariobamba.Controladores;

import com.clinicariobamba.ReglasNegocio.Clases.EstadoCivil;
import com.clinicariobamba.ReglasNegocio.Funciones.FuncionesEstadoCivil;
import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.context.DefaultRequestContext;

/**
 *
 * @author Gis
 */
@ManagedBean
@ViewScoped

public class ControladorEstadoCivil implements Serializable{
    private EstadoCivil estado;
    private List<EstadoCivil> lstEstado;
    private EstadoCivil estadoSel;

    public ControladorEstadoCivil(EstadoCivil estado, List<EstadoCivil> lstEstado) {
        this.estado = estado;
        this.lstEstado = lstEstado;
    }

    public ControladorEstadoCivil() {
        estado = new EstadoCivil();
        ObtenerEstadosCiviles();
    }

    public EstadoCivil getEstado() {
        return estado;
    }

    public void setEstado(EstadoCivil estado) {
        this.estado = estado;
    }

    public List<EstadoCivil> getLstEstado() {
        return lstEstado;
    }

    public void setLstEstado(List<EstadoCivil> lstEstado) {
        this.lstEstado = lstEstado;
    }

    public EstadoCivil getEstadoSel() {
        return estadoSel;
    }

    public void setEstadoSel(EstadoCivil estadoSel) {
        this.estadoSel = estadoSel;
    }
    
    
    public void ObtenerEstadosCiviles()
    {
        try {
            this.lstEstado = FuncionesEstadoCivil.obtenerListaEstadoCivil();
        } catch (Exception e) {
        }
    }
    
    public EstadoCivil ObtenerEstadoCivilId(int id)
    {
        return FuncionesEstadoCivil.obtenerEstadoCivil(id);
        
    }
    
    
    public void insertarEstadoCivil (){
        try {
            if (FuncionesEstadoCivil.insertar(estado)) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
                        "Información", "Datos Insertados");
                FacesContext.getCurrentInstance().addMessage(null, message);
                ObtenerEstadosCiviles();
             DefaultRequestContext.getCurrentInstance().execute("wdlgNuevoEC.hide()");
                estado = new EstadoCivil();
            } else {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        "Alerta!!", "Error al Insertar");
                FacesContext.getCurrentInstance().addMessage(null, message);
            }
        } catch (Exception e) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Alerta!!", e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, message);
        }        
    }
    
    public void actualizarEstadoCivil (){
        try {
            if (FuncionesEstadoCivil.modificar(estadoSel)) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
                        "Información", "Datos Actualizados");
                FacesContext.getCurrentInstance().addMessage(null, message);
                ObtenerEstadosCiviles();
                DefaultRequestContext.getCurrentInstance().execute("wdlgEditarEC.hide()");
                estadoSel = new EstadoCivil();
            } else {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        "Alerta!!", "Error al Actualizar");
                FacesContext.getCurrentInstance().addMessage(null, message);
            }
        } catch (Exception e) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Alerta!!", e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, message);
        }        
    }
    
    public void eliminarEstadoCivil (){
        try {
            if (FuncionesEstadoCivil.eliminar(estadoSel)) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
                        "Información", "Datos Eliminados");
                FacesContext.getCurrentInstance().addMessage(null, message);
                ObtenerEstadosCiviles();
                DefaultRequestContext.getCurrentInstance().execute("wdlgEliminarEC.hide()");
                estadoSel = new EstadoCivil();
            } else {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                        "Alerta!!", "Error al Eliminar");
                FacesContext.getCurrentInstance().addMessage(null, message);
            }
        } catch (Exception e) {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Alerta!!", e.getMessage());
            FacesContext.getCurrentInstance().addMessage(null, message);
        }        
    }
    

}
